
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.io.Serializable;

public class ServicoRemotoImpl extends UnicastRemoteObject implements ServicoRemoto, Serializable {

    private static final long serialVersionUID = 1L;
    private static Jogo jogo;

    public ServicoRemotoImpl() throws RemoteException {
    }

    @Override
    public Jogador login(String login, String password) throws RemoteException {
        Jogador jogador = JogadorDao.getInstance().login(login, password);
        return jogador;
    }

    @Override
    public int insert(Jogador jogador) throws RemoteException {
        int resultado = JogadorDao.getInstance().insert(jogador);
        return resultado;
    }

    @Override
    public Jogo getJogo() {
        return getInstance();
    }

    @Override
    public void setJogadores(Jogador jogador) {
        getJogo().setJogadores(jogador);
    }
    
    private static Jogo getInstance() {
        if(jogo == null) {
            jogo = Jogo.getInstance();
        }
        
        return jogo;
    }

    @Override
    public void setPalavraEDica(String palavra, String dica) throws RemoteException {
        jogo.setPalavra(palavra);
        jogo.setDica(dica);
    }
}
